package com.ocom.common.request.exposeapi.icbcyxt;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;

/**
 * @Description: 工行银校通充值
 * @Author: lvwenxiang
 * @Date: 2023/4/26
 **/
@Data
public class RechargeRequest {

//    @JsonProperty("VersionId")
    @NotBlank(message = "VersionId 不能为空")
    String versionId;   //服务版本

//    @JsonProperty("ClientID")
    @NotBlank(message = "ClientID 不能为空")
    String clientID;    //受理渠道:公众号01,客户端02,网站03

//    @JsonProperty("MerchantID")
    @NotBlank(message = "MerchantID 不能为空")
    String merchantID;  //商户号:学校申请的商户号（学校id）

//    @JsonProperty("PhoneNumber")
    @NotBlank(message = "PhoneNumber 不能为空")
    String phoneNumber; //客户号:手机号码

    @JsonProperty("iCCID")
    @NotBlank(message = "ICCID 不能为空")
    String iCCID;   //ICCID:编号（学号或账号唯一字段）

//    @JsonProperty("Name")
    @NotBlank(message = "Name 不能为空")
    String name;    //用户姓名

//    @JsonProperty("OrderId")
    @NotBlank(message = "OrderId 不能为空")
    String orderId; //业务订单号:发起方生成的用于标识该笔订单的唯一号码（用于对账）

//    @JsonProperty("OrderSeq")
    String orderSeq;    //订单请求交易流水号:银行卡号

//    @JsonProperty("TranSeq")
    String tranSeq; //支付平台交易流水号:支付平台交易流水号

//    @JsonProperty("Amount")
    @NotBlank(message = "Amount 不能为空")
    String amount;  //充值金额:单位为分

//    @JsonProperty("OrderDate")
    @NotBlank(message = "OrderDate 不能为空")
    String orderDate;   //交易时间:YYYYMMDD，如：20130805

    @JsonProperty("mAC")
    @NotBlank(message = "MAC 不能为空")
    String mAC; //MAC值:报文鉴别码

    @Override
    public String toString() {
        return "RechargeRequest{" +
                "versionId='" + versionId + '\'' +
                ", clientID='" + clientID + '\'' +
                ", merchantID='" + merchantID + '\'' +
                ", phoneNumber='" + phoneNumber + '\'' +
                ", ICCID='" + iCCID + '\'' +
                ", name='" + name + '\'' +
                ", orderId='" + orderId + '\'' +
                ", orderSeq='" + orderSeq + '\'' +
                ", tranSeq='" + tranSeq + '\'' +
                ", amount='" + amount + '\'' +
                ", orderDate='" + orderDate + '\'' +
                ", MAC='" + mAC + '\'' +
                '}';
    }
}
